"""
测试工具模块初始化文件
提供常用的测试辅助函数和工具类
"""

from .test_helpers import (
    TestHelpers,
    create_test_client,
    mock_db_session,
    create_mock_user,
    create_mock_role,
    create_mock_permission,
    create_test_data,
    assert_response_status,
    assert_response_data,
    assert_validation_error,
    assert_authentication_error,
    assert_authorization_error,
    assert_not_found_error,
    create_auth_headers,
    create_json_headers,
    combine_headers
)

from .test_utils import (
    TestUtils,
    measure_execution_time,
    generate_random_data,
    create_nested_dict,
    flatten_dict,
    compare_dicts,
    mock_async_function,
    create_mock_with_spec,
    assert_dict_contains,
    assert_list_contains_dict,
    retry_on_exception
)

__all__ = [
    # test_helpers
    "TestHelpers",
    "create_test_client",
    "mock_db_session",
    "create_mock_user",
    "create_mock_role",
    "create_mock_permission",
    "create_test_data",
    "assert_response_status",
    "assert_response_data",
    "assert_validation_error",
    "assert_authentication_error",
    "assert_authorization_error",
    "assert_not_found_error",
    "create_auth_headers",
    "create_json_headers",
    "combine_headers",
    
    # test_utils
    "TestUtils",
    "measure_execution_time",
    "generate_random_data",
    "create_nested_dict",
    "flatten_dict",
    "compare_dicts",
    "mock_async_function",
    "create_mock_with_spec",
    "assert_dict_contains",
    "assert_list_contains_dict",
    "retry_on_exception"
]